#!/bin/bash
# 覆冰监测系统编译脚本
# 版本: 1.0
# 日期: 2023-03-15

# 定义颜色
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
NC='\033[0m' # 无颜色

# 欢迎信息
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN}    覆冰监测系统编译脚本${NC}"
echo -e "${GREEN}========================================${NC}"

# 检测操作系统
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
    echo "在Linux环境下编译项目..."
    # 检查是否安装了必要的依赖
    command -v pkg-config >/dev/null 2>&1 || { echo "错误: 未找到pkg-config，请安装必要的开发工具"; exit 1; }
    
    # 检查OpenCV
    pkg-config --exists opencv4 || { echo "错误: 未找到OpenCV4，请安装libopencv-dev"; exit 1; }
    
    # 检查FFmpeg
    pkg-config --exists libavcodec libavformat libavutil libswscale || { 
        echo "错误: 未找到FFmpeg库，请安装libavcodec-dev libavformat-dev libavutil-dev libswscale-dev"; 
        exit 1; 
    }
    
    # 清理并编译项目
    make clean
    make
    
    if [ $? -eq 0 ]; then
        echo "编译成功！"
        echo "可以运行 ./release/ice_monitor -h 查看使用说明"
    else
        echo "编译失败，请检查错误信息"
        exit 1
    fi
else
    # Windows环境
    echo "在Windows环境下编译项目..."
    # 检测是否有make工具
    command -v make >/dev/null 2>&1
    if [ $? -eq 0 ]; then
        make clean
        make
        
        if [ $? -eq 0 ]; then
            echo "编译成功！"
            echo "可以运行 ./release/ice_monitor.exe -h 查看使用说明"
        else
            echo "编译失败，请检查错误信息"
            exit 1
        fi
    else
        echo "未找到make工具，请确保已安装MinGW或Cygwin，并将其添加到系统PATH中"
        exit 1
    fi
fi

exit 0 